﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using Csla;
using Csla.Data;

namespace BO
{

    [Serializable()]
    public partial class Staff : BusinessBaseEx
    {
        public Staff()
        {
            this.Clear();
        }


        #region primary field

        private static PropertyInfo<Int32> IDProperty = RegisterProperty(typeof(Staff), new PropertyInfo<Int32>("ID", true));


        public Int32 ID
        {
            get { return GetProperty(IDProperty); }
            set { SetProperty(IDProperty, value); }
        }

        private static PropertyInfo<String> NameProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("Name", false));


        public String Name
        {
            get { return GetProperty(NameProperty); }
            set { SetProperty(NameProperty, value); }
        }

        private static PropertyInfo<Boolean> SexProperty = RegisterProperty(typeof(Staff), new PropertyInfo<Boolean>("Sex", false));


        public Boolean Sex
        {
            get { return GetProperty(SexProperty); }
            set { SetProperty(SexProperty, value); }
        }

        private static PropertyInfo<DateTime> EntryDateProperty = RegisterProperty(typeof(Staff), new PropertyInfo<DateTime>("EntryDate", false));


        public DateTime EntryDate
        {
            get { return GetProperty(EntryDateProperty); }
            set { SetProperty(EntryDateProperty, value); }
        }

        private static PropertyInfo<DateTime> ExitDateProperty = RegisterProperty(typeof(Staff), new PropertyInfo<DateTime>("ExitDate", false));


        public DateTime ExitDate
        {
            get { return GetProperty(ExitDateProperty); }
            set { SetProperty(ExitDateProperty, value); }
        }

        private static PropertyInfo<String> PrincipalProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("Principal", false));


        public String Principal
        {
            get { return GetProperty(PrincipalProperty); }
            set { SetProperty(PrincipalProperty, value); }
        }

        private static PropertyInfo<String> RemarkProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("Remark", false));


        public String Remark
        {
            get { return GetProperty(RemarkProperty); }
            set { SetProperty(RemarkProperty, value); }
        }

        private static PropertyInfo<String> CompanyNameProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("CompanyName", false));


        public String CompanyName
        {
            get { return GetProperty(CompanyNameProperty); }
            set { SetProperty(CompanyNameProperty, value); }
        }

        private static PropertyInfo<String> CenterNameProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("CenterName", false));


        public String CenterName
        {
            get { return GetProperty(CenterNameProperty); }
            set { SetProperty(CenterNameProperty, value); }
        }

        private static PropertyInfo<String> DepartmentNameProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("DepartmentName", false));


        public String DepartmentName
        {
            get { return GetProperty(DepartmentNameProperty); }
            set { SetProperty(DepartmentNameProperty, value); }
        }

        private static PropertyInfo<String> TargetAmountProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("TargetAmount", false));


        public String TargetAmount
        {
            get { return GetProperty(TargetAmountProperty); }
            set { SetProperty(TargetAmountProperty, value); }
        }

        private static PropertyInfo<Boolean> IsNormalProperty = RegisterProperty(typeof(Staff), new PropertyInfo<Boolean>("IsNormal", false));


        public Boolean IsNormal
        {
            get { return GetProperty(IsNormalProperty); }
            set { SetProperty(IsNormalProperty, value); }
        }

        private static PropertyInfo<Boolean> IsInactiveProperty = RegisterProperty(typeof(Staff), new PropertyInfo<Boolean>("IsInactive", false));


        public Boolean IsInactive
        {
            get { return GetProperty(IsInactiveProperty); }
            set { SetProperty(IsInactiveProperty, value); }
        }

        private static PropertyInfo<DateTime> BirthDayProperty = RegisterProperty(typeof(Staff), new PropertyInfo<DateTime>("BirthDay", false));


        public DateTime BirthDay
        {
            get { return GetProperty(BirthDayProperty); }
            set { SetProperty(BirthDayProperty, value); }
        }

        private static PropertyInfo<String> StaffLevelProperty = RegisterProperty(typeof(Staff), new PropertyInfo<String>("StaffLevel", false));


        public String StaffLevel
        {
            get { return GetProperty(StaffLevelProperty); }
            set { SetProperty(StaffLevelProperty, value); }
        }

        private static PropertyInfo<Boolean> IsYearMeetingProperty = RegisterProperty(typeof(Staff), new PropertyInfo<Boolean>("IsYearMeeting", false));


        public Boolean IsYearMeeting
        {
            get { return GetProperty(IsYearMeetingProperty); }
            set { SetProperty(IsYearMeetingProperty, value); }
        }
        #endregion

        public override string GetTableName()
        {
            return "Staff";
        }



    }
}